package com.xiehospital.system.mapper;

import java.util.List;
import com.xiehospital.common.core.domain.entity.SysBtype;

/**
 * 床位类型信息 数据层
 *
 * @author Xierujian
 */
public interface SysBtypeMapper
{
    /**
     * 查询床位类型数据集合
     *
     * @param btype 床位类型信息
     * @return 床位类型数据集合
     */
    public List<SysBtype> selectBtypeList(SysBtype btype);

    /**
     * 查询所有床位类型
     *
     * @return 床位类型列表
     */
    public List<SysBtype> selectBtypeAll();

    /**
     * 通过床位类型ID查询床位类型信息
     *
     * @param btypeId 床位类型ID
     * @return 角色对象信息
     */
    public SysBtype selectBtypeById(Long btypeId);

    /**
     * 根据用户ID获取床位类型选择框列表
     *
     * @param userId 用户ID
     * @return 选中床位类型ID列表
     */
    public List<Long> selectBtypeListByUserId(Long userId);

    /**
     * 查询用户所属床位类型组
     *
     * @param userName 用户名
     * @return 结果
     */
    public List<SysBtype> selectBtypesByUserName(String userName);

    /**
     * 删除床位类型信息
     *
     * @param btypeId 床位类型ID
     * @return 结果
     */
    public int deleteBtypeById(Long btypeId);

    /**
     * 批量删除床位类型信息
     *
     * @param btypeIds 需要删除的床位类型ID
     * @return 结果
     */
    public int deleteBtypeByIds(Long[] btypeIds);

    /**
     * 修改床位类型信息
     *
     * @param btype 床位类型信息
     * @return 结果
     */
    public int updateBtype(SysBtype btype);

    /**
     * 新增床位类型信息
     *
     * @param btype 床位类型信息
     * @return 结果
     */
    public int insertBtype(SysBtype btype);

    /**
     * 校验床位类型名称
     *
     * @param btypeName 床位类型名称
     * @return 结果
     */
    public SysBtype checkBtypeNameUnique(String btypeName);

    /**
     * 校验床位类型编码
     *
     * @param btypeCode 床位类型编码
     * @return 结果
     */
    public SysBtype checkBtypeCodeUnique(String btypeCode);
}
